package cn.mysdp.biz.domain;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * InterfaceName: SdpWorkspaceForGetColumnListExample
 * @Description:
 * @Author: SDP
 * @Date: 2023-12-04
 * @Version: 1.0
 * Table: sdp_workspace
 * Comment:
 * workspace
 */
public class SdpWorkspaceForGetColumnListExample extends BaseExample {
    protected SdpWorkspaceForGetColumnList simple = new SdpWorkspaceForGetColumnList();

    protected List<Criteria> oredCriteria = new ArrayList<>();

    public void setSimple(SdpWorkspaceForGetColumnList simple) {
        this.simple = simple;
    }

    public SdpWorkspaceForGetColumnList getSimple() {
        return simple;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    public static SdpWorkspaceForGetColumnListExample createExample(SdpWorkspaceForGetColumnList request) throws Exception {
        return createExample(request, null);
    }

    public static SdpWorkspaceForGetColumnListExample createExample(SdpWorkspaceForGetColumnList request, JSONObject options) throws Exception {
        SdpWorkspaceForGetColumnListExample example = new SdpWorkspaceForGetColumnListExample();
        example.setSimple(request);
        SdpWorkspaceForGetColumnListExample.Criteria criteria = example.createCriteria();

        example.fixExample(SdpWorkspaceForGetColumnList.class, CriteriaString.class, criteria, options);

        if (options != null) {
            String orderBy = "";
            if (options.containsKey("order_by")) {
                orderBy = setCriteriaOrderBy(options.getJSONArray("order_by"), example);
                if (orderBy.length() > 0) {
                    example.setOrderByClause(orderBy);
                }
            }
        }

        return example;
    }

    private static String setCriteriaOrderBy(JSONArray jsonArray, SdpWorkspaceForGetColumnListExample example) throws Exception {
        List<Object> request = Criterion.toList(jsonArray, CriteriaString.class);
        StringBuilder sb = new StringBuilder();
        int count = 0;
        for(int i = 0; i < request.size(); i++) {
            Object criteriaOrderByObj  = request.get(i);
            CriteriaString criteriaOrderBy = (CriteriaString)criteriaOrderByObj;
            int subCount = 0;

            subCount += appendCriteriaOrderByItem(sb, "id", criteriaOrderBy.getId());
            subCount += appendCriteriaOrderByItem(sb, "is_disable", criteriaOrderBy.getIsDisable());
            subCount += appendCriteriaOrderByItem(sb, "workspace_name", criteriaOrderBy.getWorkspaceName());
            subCount += appendCriteriaOrderByItem(sb, "project_names", criteriaOrderBy.getProjectNames());
            subCount += appendCriteriaOrderByItem(sb, "`table_name`", criteriaOrderBy.getTableName());
            subCount += appendCriteriaOrderByItem(sb, "parameter_catalog", criteriaOrderBy.getParameterCatalog());
            subCount += appendCriteriaOrderByItem(sb, "parameter_catalog_type", criteriaOrderBy.getParameterCatalogType());
            subCount += appendCriteriaOrderByItem(sb, "`name`", criteriaOrderBy.getName());
            subCount += appendCriteriaOrderByItem(sb, "java_type", criteriaOrderBy.getJavaType());
            subCount += appendCriteriaOrderByItem(sb, "remarks", criteriaOrderBy.getRemarks());
            subCount += appendCriteriaOrderByItem(sb, "`parameter_mode`", criteriaOrderBy.getParameterMode());
            subCount += appendCriteriaOrderByItem(sb, "parameter_nullable", criteriaOrderBy.getParameterNullable());
            subCount += appendCriteriaOrderByItem(sb, "parameter_is_like", criteriaOrderBy.getParameterIsLike());
            subCount += appendCriteriaOrderByItem(sb, "parameter_is_import_excel", criteriaOrderBy.getParameterIsImportExcel());
            subCount += appendCriteriaOrderByItem(sb, "parameter_is_export_excel", criteriaOrderBy.getParameterIsExportExcel());
            subCount += appendCriteriaOrderByItem(sb, "parameter_sql_value_item", criteriaOrderBy.getParameterSqlValueItem());
            subCount += appendCriteriaOrderByItem(sb, "parameter_sql_value", criteriaOrderBy.getParameterSqlValue());
            subCount += appendCriteriaOrderByItem(sb, "parameter_sql_value_ignore", criteriaOrderBy.getParameterSqlValueIgnore());
            subCount += appendCriteriaOrderByItem(sb, "parameter_without_test", criteriaOrderBy.getParameterWithoutTest());
            subCount += appendCriteriaOrderByItem(sb, "parameter_sql", criteriaOrderBy.getParameterSql());
            subCount += appendCriteriaOrderByItem(sb, "parameter_sql_issimple", criteriaOrderBy.getParameterSqlIssimple());
            subCount += appendCriteriaOrderByItem(sb, "parameter_sql_return_nolist", criteriaOrderBy.getParameterSqlReturnNolist());
            subCount += appendCriteriaOrderByItem(sb, "java_imports", criteriaOrderBy.getJavaImports());
            subCount += appendCriteriaOrderByItem(sb, "parameter_overwrite_default_sql", criteriaOrderBy.getParameterOverwriteDefaultSql());
            subCount += appendCriteriaOrderByItem(sb, "java_return_type", criteriaOrderBy.getJavaReturnType());
            subCount += appendCriteriaOrderByItem(sb, "java_body", criteriaOrderBy.getJavaBody());
            subCount += appendCriteriaOrderByItem(sb, "sort_no", criteriaOrderBy.getSortNo());
            subCount += appendCriteriaOrderByItem(sb, "remark", criteriaOrderBy.getRemark());
            subCount += appendCriteriaOrderByItem(sb, "is_interface", criteriaOrderBy.getIsInterface());
            subCount += appendCriteriaOrderByItem(sb, "extra_info", criteriaOrderBy.getExtraInfo());
            if (subCount > 1) {
                throw new Exception("order by数组元素对象属性多于1个(SdpWorkspaceForGetColumnListExample):"+count+","+JSON.toJSONString(jsonArray.get(i)));
            }
            if (subCount == 0 && !"{}".equals(JSON.toJSONString(jsonArray.get(i)))) {
                throw new Exception("存在非法order by 字段(SdpWorkspaceForGetColumnListExample):"+count+","+JSON.toJSONString(jsonArray.get(i)));
            }
            count++;
        }
        if (sb.length() == 0) {
            appendCriteriaOrderByItem(sb, "1", "");
        }

        return sb.toString();
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Integer value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Integer value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Integer value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Integer value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Integer value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Integer> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Integer> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Integer value1, Integer value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Integer value1, Integer value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIsDisableIsNull() {
            addCriterion("is_disable is null");
            return (Criteria) this;
        }

        public Criteria andIsDisableIsNotNull() {
            addCriterion("is_disable is not null");
            return (Criteria) this;
        }

        public Criteria andIsDisableEqualTo(Integer value) {
            addCriterion("is_disable =", value, "isDisable");
            return (Criteria) this;
        }

        public Criteria andIsDisableNotEqualTo(Integer value) {
            addCriterion("is_disable <>", value, "isDisable");
            return (Criteria) this;
        }

        public Criteria andIsDisableGreaterThan(Integer value) {
            addCriterion("is_disable >", value, "isDisable");
            return (Criteria) this;
        }

        public Criteria andIsDisableGreaterThanOrEqualTo(Integer value) {
            addCriterion("is_disable >=", value, "isDisable");
            return (Criteria) this;
        }

        public Criteria andIsDisableLessThan(Integer value) {
            addCriterion("is_disable <", value, "isDisable");
            return (Criteria) this;
        }

        public Criteria andIsDisableLessThanOrEqualTo(Integer value) {
            addCriterion("is_disable <=", value, "isDisable");
            return (Criteria) this;
        }

        public Criteria andIsDisableIn(List<Integer> values) {
            addCriterion("is_disable in", values, "isDisable");
            return (Criteria) this;
        }

        public Criteria andIsDisableNotIn(List<Integer> values) {
            addCriterion("is_disable not in", values, "isDisable");
            return (Criteria) this;
        }

        public Criteria andIsDisableBetween(Integer value1, Integer value2) {
            addCriterion("is_disable between", value1, value2, "isDisable");
            return (Criteria) this;
        }

        public Criteria andIsDisableNotBetween(Integer value1, Integer value2) {
            addCriterion("is_disable not between", value1, value2, "isDisable");
            return (Criteria) this;
        }

        public Criteria andWorkspaceNameIsNull() {
            addCriterion("workspace_name is null");
            return (Criteria) this;
        }

        public Criteria andWorkspaceNameIsNotNull() {
            addCriterion("workspace_name is not null");
            return (Criteria) this;
        }

        public Criteria andWorkspaceNameEqualTo(String value) {
            addCriterion("workspace_name =", value, "workspaceName");
            return (Criteria) this;
        }

        public Criteria andWorkspaceNameNotEqualTo(String value) {
            addCriterion("workspace_name <>", value, "workspaceName");
            return (Criteria) this;
        }

        public Criteria andWorkspaceNameGreaterThan(String value) {
            addCriterion("workspace_name >", value, "workspaceName");
            return (Criteria) this;
        }

        public Criteria andWorkspaceNameGreaterThanOrEqualTo(String value) {
            addCriterion("workspace_name >=", value, "workspaceName");
            return (Criteria) this;
        }

        public Criteria andWorkspaceNameLessThan(String value) {
            addCriterion("workspace_name <", value, "workspaceName");
            return (Criteria) this;
        }

        public Criteria andWorkspaceNameLessThanOrEqualTo(String value) {
            addCriterion("workspace_name <=", value, "workspaceName");
            return (Criteria) this;
        }

        public Criteria andWorkspaceNameRegexp(String value) {
            addCriterion("workspace_name regexp", value, "workspaceName");
            return (Criteria) this;
        }

        public Criteria andWorkspaceNameLike(String value) {
            addCriterion("workspace_name like", value, "workspaceName");
            return (Criteria) this;
        }

        public Criteria andWorkspaceNameNotLike(String value) {
            addCriterion("workspace_name not like", value, "workspaceName");
            return (Criteria) this;
        }

        public Criteria andWorkspaceNameIn(List<String> values) {
            addCriterion("workspace_name in", values, "workspaceName");
            return (Criteria) this;
        }

        public Criteria andWorkspaceNameNotIn(List<String> values) {
            addCriterion("workspace_name not in", values, "workspaceName");
            return (Criteria) this;
        }

        public Criteria andWorkspaceNameBetween(String value1, String value2) {
            addCriterion("workspace_name between", value1, value2, "workspaceName");
            return (Criteria) this;
        }

        public Criteria andWorkspaceNameNotBetween(String value1, String value2) {
            addCriterion("workspace_name not between", value1, value2, "workspaceName");
            return (Criteria) this;
        }

        public Criteria andProjectNamesIsNull() {
            addCriterion("project_names is null");
            return (Criteria) this;
        }

        public Criteria andProjectNamesIsNotNull() {
            addCriterion("project_names is not null");
            return (Criteria) this;
        }

        public Criteria andProjectNamesEqualTo(String value) {
            addCriterion("project_names =", value, "projectNames");
            return (Criteria) this;
        }

        public Criteria andProjectNamesNotEqualTo(String value) {
            addCriterion("project_names <>", value, "projectNames");
            return (Criteria) this;
        }

        public Criteria andProjectNamesGreaterThan(String value) {
            addCriterion("project_names >", value, "projectNames");
            return (Criteria) this;
        }

        public Criteria andProjectNamesGreaterThanOrEqualTo(String value) {
            addCriterion("project_names >=", value, "projectNames");
            return (Criteria) this;
        }

        public Criteria andProjectNamesLessThan(String value) {
            addCriterion("project_names <", value, "projectNames");
            return (Criteria) this;
        }

        public Criteria andProjectNamesLessThanOrEqualTo(String value) {
            addCriterion("project_names <=", value, "projectNames");
            return (Criteria) this;
        }

        public Criteria andProjectNamesRegexp(String value) {
            addCriterion("project_names regexp", value, "projectNames");
            return (Criteria) this;
        }

        public Criteria andProjectNamesLike(String value) {
            addCriterion("project_names like", value, "projectNames");
            return (Criteria) this;
        }

        public Criteria andProjectNamesNotLike(String value) {
            addCriterion("project_names not like", value, "projectNames");
            return (Criteria) this;
        }

        public Criteria andProjectNamesIn(List<String> values) {
            addCriterion("project_names in", values, "projectNames");
            return (Criteria) this;
        }

        public Criteria andProjectNamesNotIn(List<String> values) {
            addCriterion("project_names not in", values, "projectNames");
            return (Criteria) this;
        }

        public Criteria andProjectNamesBetween(String value1, String value2) {
            addCriterion("project_names between", value1, value2, "projectNames");
            return (Criteria) this;
        }

        public Criteria andProjectNamesNotBetween(String value1, String value2) {
            addCriterion("project_names not between", value1, value2, "projectNames");
            return (Criteria) this;
        }

        public Criteria andTableNameIsNull() {
            addCriterion("`table_name` is null");
            return (Criteria) this;
        }

        public Criteria andTableNameIsNotNull() {
            addCriterion("`table_name` is not null");
            return (Criteria) this;
        }

        public Criteria andTableNameEqualTo(String value) {
            addCriterion("`table_name` =", value, "tableName");
            return (Criteria) this;
        }

        public Criteria andTableNameNotEqualTo(String value) {
            addCriterion("`table_name` <>", value, "tableName");
            return (Criteria) this;
        }

        public Criteria andTableNameGreaterThan(String value) {
            addCriterion("`table_name` >", value, "tableName");
            return (Criteria) this;
        }

        public Criteria andTableNameGreaterThanOrEqualTo(String value) {
            addCriterion("`table_name` >=", value, "tableName");
            return (Criteria) this;
        }

        public Criteria andTableNameLessThan(String value) {
            addCriterion("`table_name` <", value, "tableName");
            return (Criteria) this;
        }

        public Criteria andTableNameLessThanOrEqualTo(String value) {
            addCriterion("`table_name` <=", value, "tableName");
            return (Criteria) this;
        }

        public Criteria andTableNameRegexp(String value) {
            addCriterion("`table_name` regexp", value, "tableName");
            return (Criteria) this;
        }

        public Criteria andTableNameLike(String value) {
            addCriterion("`table_name` like", value, "tableName");
            return (Criteria) this;
        }

        public Criteria andTableNameNotLike(String value) {
            addCriterion("`table_name` not like", value, "tableName");
            return (Criteria) this;
        }

        public Criteria andTableNameIn(List<String> values) {
            addCriterion("`table_name` in", values, "tableName");
            return (Criteria) this;
        }

        public Criteria andTableNameNotIn(List<String> values) {
            addCriterion("`table_name` not in", values, "tableName");
            return (Criteria) this;
        }

        public Criteria andTableNameBetween(String value1, String value2) {
            addCriterion("`table_name` between", value1, value2, "tableName");
            return (Criteria) this;
        }

        public Criteria andTableNameNotBetween(String value1, String value2) {
            addCriterion("`table_name` not between", value1, value2, "tableName");
            return (Criteria) this;
        }

        public Criteria andParameterCatalogIsNull() {
            addCriterion("parameter_catalog is null");
            return (Criteria) this;
        }

        public Criteria andParameterCatalogIsNotNull() {
            addCriterion("parameter_catalog is not null");
            return (Criteria) this;
        }

        public Criteria andParameterCatalogEqualTo(String value) {
            addCriterion("parameter_catalog =", value, "parameterCatalog");
            return (Criteria) this;
        }

        public Criteria andParameterCatalogNotEqualTo(String value) {
            addCriterion("parameter_catalog <>", value, "parameterCatalog");
            return (Criteria) this;
        }

        public Criteria andParameterCatalogGreaterThan(String value) {
            addCriterion("parameter_catalog >", value, "parameterCatalog");
            return (Criteria) this;
        }

        public Criteria andParameterCatalogGreaterThanOrEqualTo(String value) {
            addCriterion("parameter_catalog >=", value, "parameterCatalog");
            return (Criteria) this;
        }

        public Criteria andParameterCatalogLessThan(String value) {
            addCriterion("parameter_catalog <", value, "parameterCatalog");
            return (Criteria) this;
        }

        public Criteria andParameterCatalogLessThanOrEqualTo(String value) {
            addCriterion("parameter_catalog <=", value, "parameterCatalog");
            return (Criteria) this;
        }

        public Criteria andParameterCatalogRegexp(String value) {
            addCriterion("parameter_catalog regexp", value, "parameterCatalog");
            return (Criteria) this;
        }

        public Criteria andParameterCatalogLike(String value) {
            addCriterion("parameter_catalog like", value, "parameterCatalog");
            return (Criteria) this;
        }

        public Criteria andParameterCatalogNotLike(String value) {
            addCriterion("parameter_catalog not like", value, "parameterCatalog");
            return (Criteria) this;
        }

        public Criteria andParameterCatalogIn(List<String> values) {
            addCriterion("parameter_catalog in", values, "parameterCatalog");
            return (Criteria) this;
        }

        public Criteria andParameterCatalogNotIn(List<String> values) {
            addCriterion("parameter_catalog not in", values, "parameterCatalog");
            return (Criteria) this;
        }

        public Criteria andParameterCatalogBetween(String value1, String value2) {
            addCriterion("parameter_catalog between", value1, value2, "parameterCatalog");
            return (Criteria) this;
        }

        public Criteria andParameterCatalogNotBetween(String value1, String value2) {
            addCriterion("parameter_catalog not between", value1, value2, "parameterCatalog");
            return (Criteria) this;
        }

        public Criteria andParameterCatalogTypeIsNull() {
            addCriterion("parameter_catalog_type is null");
            return (Criteria) this;
        }

        public Criteria andParameterCatalogTypeIsNotNull() {
            addCriterion("parameter_catalog_type is not null");
            return (Criteria) this;
        }

        public Criteria andParameterCatalogTypeEqualTo(String value) {
            addCriterion("parameter_catalog_type =", value, "parameterCatalogType");
            return (Criteria) this;
        }

        public Criteria andParameterCatalogTypeNotEqualTo(String value) {
            addCriterion("parameter_catalog_type <>", value, "parameterCatalogType");
            return (Criteria) this;
        }

        public Criteria andParameterCatalogTypeGreaterThan(String value) {
            addCriterion("parameter_catalog_type >", value, "parameterCatalogType");
            return (Criteria) this;
        }

        public Criteria andParameterCatalogTypeGreaterThanOrEqualTo(String value) {
            addCriterion("parameter_catalog_type >=", value, "parameterCatalogType");
            return (Criteria) this;
        }

        public Criteria andParameterCatalogTypeLessThan(String value) {
            addCriterion("parameter_catalog_type <", value, "parameterCatalogType");
            return (Criteria) this;
        }

        public Criteria andParameterCatalogTypeLessThanOrEqualTo(String value) {
            addCriterion("parameter_catalog_type <=", value, "parameterCatalogType");
            return (Criteria) this;
        }

        public Criteria andParameterCatalogTypeRegexp(String value) {
            addCriterion("parameter_catalog_type regexp", value, "parameterCatalogType");
            return (Criteria) this;
        }

        public Criteria andParameterCatalogTypeLike(String value) {
            addCriterion("parameter_catalog_type like", value, "parameterCatalogType");
            return (Criteria) this;
        }

        public Criteria andParameterCatalogTypeNotLike(String value) {
            addCriterion("parameter_catalog_type not like", value, "parameterCatalogType");
            return (Criteria) this;
        }

        public Criteria andParameterCatalogTypeIn(List<String> values) {
            addCriterion("parameter_catalog_type in", values, "parameterCatalogType");
            return (Criteria) this;
        }

        public Criteria andParameterCatalogTypeNotIn(List<String> values) {
            addCriterion("parameter_catalog_type not in", values, "parameterCatalogType");
            return (Criteria) this;
        }

        public Criteria andParameterCatalogTypeBetween(String value1, String value2) {
            addCriterion("parameter_catalog_type between", value1, value2, "parameterCatalogType");
            return (Criteria) this;
        }

        public Criteria andParameterCatalogTypeNotBetween(String value1, String value2) {
            addCriterion("parameter_catalog_type not between", value1, value2, "parameterCatalogType");
            return (Criteria) this;
        }

        public Criteria andNameIsNull() {
            addCriterion("`name` is null");
            return (Criteria) this;
        }

        public Criteria andNameIsNotNull() {
            addCriterion("`name` is not null");
            return (Criteria) this;
        }

        public Criteria andNameEqualTo(String value) {
            addCriterion("`name` =", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotEqualTo(String value) {
            addCriterion("`name` <>", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameGreaterThan(String value) {
            addCriterion("`name` >", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameGreaterThanOrEqualTo(String value) {
            addCriterion("`name` >=", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameLessThan(String value) {
            addCriterion("`name` <", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameLessThanOrEqualTo(String value) {
            addCriterion("`name` <=", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameRegexp(String value) {
            addCriterion("`name` regexp", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameLike(String value) {
            addCriterion("`name` like", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotLike(String value) {
            addCriterion("`name` not like", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameIn(List<String> values) {
            addCriterion("`name` in", values, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotIn(List<String> values) {
            addCriterion("`name` not in", values, "name");
            return (Criteria) this;
        }

        public Criteria andNameBetween(String value1, String value2) {
            addCriterion("`name` between", value1, value2, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotBetween(String value1, String value2) {
            addCriterion("`name` not between", value1, value2, "name");
            return (Criteria) this;
        }

        public Criteria andJavaTypeIsNull() {
            addCriterion("java_type is null");
            return (Criteria) this;
        }

        public Criteria andJavaTypeIsNotNull() {
            addCriterion("java_type is not null");
            return (Criteria) this;
        }

        public Criteria andJavaTypeEqualTo(String value) {
            addCriterion("java_type =", value, "javaType");
            return (Criteria) this;
        }

        public Criteria andJavaTypeNotEqualTo(String value) {
            addCriterion("java_type <>", value, "javaType");
            return (Criteria) this;
        }

        public Criteria andJavaTypeGreaterThan(String value) {
            addCriterion("java_type >", value, "javaType");
            return (Criteria) this;
        }

        public Criteria andJavaTypeGreaterThanOrEqualTo(String value) {
            addCriterion("java_type >=", value, "javaType");
            return (Criteria) this;
        }

        public Criteria andJavaTypeLessThan(String value) {
            addCriterion("java_type <", value, "javaType");
            return (Criteria) this;
        }

        public Criteria andJavaTypeLessThanOrEqualTo(String value) {
            addCriterion("java_type <=", value, "javaType");
            return (Criteria) this;
        }

        public Criteria andJavaTypeRegexp(String value) {
            addCriterion("java_type regexp", value, "javaType");
            return (Criteria) this;
        }

        public Criteria andJavaTypeLike(String value) {
            addCriterion("java_type like", value, "javaType");
            return (Criteria) this;
        }

        public Criteria andJavaTypeNotLike(String value) {
            addCriterion("java_type not like", value, "javaType");
            return (Criteria) this;
        }

        public Criteria andJavaTypeIn(List<String> values) {
            addCriterion("java_type in", values, "javaType");
            return (Criteria) this;
        }

        public Criteria andJavaTypeNotIn(List<String> values) {
            addCriterion("java_type not in", values, "javaType");
            return (Criteria) this;
        }

        public Criteria andJavaTypeBetween(String value1, String value2) {
            addCriterion("java_type between", value1, value2, "javaType");
            return (Criteria) this;
        }

        public Criteria andJavaTypeNotBetween(String value1, String value2) {
            addCriterion("java_type not between", value1, value2, "javaType");
            return (Criteria) this;
        }

        public Criteria andRemarksIsNull() {
            addCriterion("remarks is null");
            return (Criteria) this;
        }

        public Criteria andRemarksIsNotNull() {
            addCriterion("remarks is not null");
            return (Criteria) this;
        }

        public Criteria andRemarksEqualTo(String value) {
            addCriterion("remarks =", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksNotEqualTo(String value) {
            addCriterion("remarks <>", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksGreaterThan(String value) {
            addCriterion("remarks >", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksGreaterThanOrEqualTo(String value) {
            addCriterion("remarks >=", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksLessThan(String value) {
            addCriterion("remarks <", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksLessThanOrEqualTo(String value) {
            addCriterion("remarks <=", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksRegexp(String value) {
            addCriterion("remarks regexp", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksLike(String value) {
            addCriterion("remarks like", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksNotLike(String value) {
            addCriterion("remarks not like", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksIn(List<String> values) {
            addCriterion("remarks in", values, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksNotIn(List<String> values) {
            addCriterion("remarks not in", values, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksBetween(String value1, String value2) {
            addCriterion("remarks between", value1, value2, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksNotBetween(String value1, String value2) {
            addCriterion("remarks not between", value1, value2, "remarks");
            return (Criteria) this;
        }

        public Criteria andParameterModeIsNull() {
            addCriterion("`parameter_mode` is null");
            return (Criteria) this;
        }

        public Criteria andParameterModeIsNotNull() {
            addCriterion("`parameter_mode` is not null");
            return (Criteria) this;
        }

        public Criteria andParameterModeEqualTo(String value) {
            addCriterion("`parameter_mode` =", value, "parameterMode");
            return (Criteria) this;
        }

        public Criteria andParameterModeNotEqualTo(String value) {
            addCriterion("`parameter_mode` <>", value, "parameterMode");
            return (Criteria) this;
        }

        public Criteria andParameterModeGreaterThan(String value) {
            addCriterion("`parameter_mode` >", value, "parameterMode");
            return (Criteria) this;
        }

        public Criteria andParameterModeGreaterThanOrEqualTo(String value) {
            addCriterion("`parameter_mode` >=", value, "parameterMode");
            return (Criteria) this;
        }

        public Criteria andParameterModeLessThan(String value) {
            addCriterion("`parameter_mode` <", value, "parameterMode");
            return (Criteria) this;
        }

        public Criteria andParameterModeLessThanOrEqualTo(String value) {
            addCriterion("`parameter_mode` <=", value, "parameterMode");
            return (Criteria) this;
        }

        public Criteria andParameterModeRegexp(String value) {
            addCriterion("`parameter_mode` regexp", value, "parameterMode");
            return (Criteria) this;
        }

        public Criteria andParameterModeLike(String value) {
            addCriterion("`parameter_mode` like", value, "parameterMode");
            return (Criteria) this;
        }

        public Criteria andParameterModeNotLike(String value) {
            addCriterion("`parameter_mode` not like", value, "parameterMode");
            return (Criteria) this;
        }

        public Criteria andParameterModeIn(List<String> values) {
            addCriterion("`parameter_mode` in", values, "parameterMode");
            return (Criteria) this;
        }

        public Criteria andParameterModeNotIn(List<String> values) {
            addCriterion("`parameter_mode` not in", values, "parameterMode");
            return (Criteria) this;
        }

        public Criteria andParameterModeBetween(String value1, String value2) {
            addCriterion("`parameter_mode` between", value1, value2, "parameterMode");
            return (Criteria) this;
        }

        public Criteria andParameterModeNotBetween(String value1, String value2) {
            addCriterion("`parameter_mode` not between", value1, value2, "parameterMode");
            return (Criteria) this;
        }

        public Criteria andParameterNullableIsNull() {
            addCriterion("parameter_nullable is null");
            return (Criteria) this;
        }

        public Criteria andParameterNullableIsNotNull() {
            addCriterion("parameter_nullable is not null");
            return (Criteria) this;
        }

        public Criteria andParameterNullableEqualTo(Integer value) {
            addCriterion("parameter_nullable =", value, "parameterNullable");
            return (Criteria) this;
        }

        public Criteria andParameterNullableNotEqualTo(Integer value) {
            addCriterion("parameter_nullable <>", value, "parameterNullable");
            return (Criteria) this;
        }

        public Criteria andParameterNullableGreaterThan(Integer value) {
            addCriterion("parameter_nullable >", value, "parameterNullable");
            return (Criteria) this;
        }

        public Criteria andParameterNullableGreaterThanOrEqualTo(Integer value) {
            addCriterion("parameter_nullable >=", value, "parameterNullable");
            return (Criteria) this;
        }

        public Criteria andParameterNullableLessThan(Integer value) {
            addCriterion("parameter_nullable <", value, "parameterNullable");
            return (Criteria) this;
        }

        public Criteria andParameterNullableLessThanOrEqualTo(Integer value) {
            addCriterion("parameter_nullable <=", value, "parameterNullable");
            return (Criteria) this;
        }

        public Criteria andParameterNullableIn(List<Integer> values) {
            addCriterion("parameter_nullable in", values, "parameterNullable");
            return (Criteria) this;
        }

        public Criteria andParameterNullableNotIn(List<Integer> values) {
            addCriterion("parameter_nullable not in", values, "parameterNullable");
            return (Criteria) this;
        }

        public Criteria andParameterNullableBetween(Integer value1, Integer value2) {
            addCriterion("parameter_nullable between", value1, value2, "parameterNullable");
            return (Criteria) this;
        }

        public Criteria andParameterNullableNotBetween(Integer value1, Integer value2) {
            addCriterion("parameter_nullable not between", value1, value2, "parameterNullable");
            return (Criteria) this;
        }

        public Criteria andParameterIsLikeIsNull() {
            addCriterion("parameter_is_like is null");
            return (Criteria) this;
        }

        public Criteria andParameterIsLikeIsNotNull() {
            addCriterion("parameter_is_like is not null");
            return (Criteria) this;
        }

        public Criteria andParameterIsLikeEqualTo(Integer value) {
            addCriterion("parameter_is_like =", value, "parameterIsLike");
            return (Criteria) this;
        }

        public Criteria andParameterIsLikeNotEqualTo(Integer value) {
            addCriterion("parameter_is_like <>", value, "parameterIsLike");
            return (Criteria) this;
        }

        public Criteria andParameterIsLikeGreaterThan(Integer value) {
            addCriterion("parameter_is_like >", value, "parameterIsLike");
            return (Criteria) this;
        }

        public Criteria andParameterIsLikeGreaterThanOrEqualTo(Integer value) {
            addCriterion("parameter_is_like >=", value, "parameterIsLike");
            return (Criteria) this;
        }

        public Criteria andParameterIsLikeLessThan(Integer value) {
            addCriterion("parameter_is_like <", value, "parameterIsLike");
            return (Criteria) this;
        }

        public Criteria andParameterIsLikeLessThanOrEqualTo(Integer value) {
            addCriterion("parameter_is_like <=", value, "parameterIsLike");
            return (Criteria) this;
        }

        public Criteria andParameterIsLikeIn(List<Integer> values) {
            addCriterion("parameter_is_like in", values, "parameterIsLike");
            return (Criteria) this;
        }

        public Criteria andParameterIsLikeNotIn(List<Integer> values) {
            addCriterion("parameter_is_like not in", values, "parameterIsLike");
            return (Criteria) this;
        }

        public Criteria andParameterIsLikeBetween(Integer value1, Integer value2) {
            addCriterion("parameter_is_like between", value1, value2, "parameterIsLike");
            return (Criteria) this;
        }

        public Criteria andParameterIsLikeNotBetween(Integer value1, Integer value2) {
            addCriterion("parameter_is_like not between", value1, value2, "parameterIsLike");
            return (Criteria) this;
        }

        public Criteria andParameterIsImportExcelIsNull() {
            addCriterion("parameter_is_import_excel is null");
            return (Criteria) this;
        }

        public Criteria andParameterIsImportExcelIsNotNull() {
            addCriterion("parameter_is_import_excel is not null");
            return (Criteria) this;
        }

        public Criteria andParameterIsImportExcelEqualTo(Integer value) {
            addCriterion("parameter_is_import_excel =", value, "parameterIsImportExcel");
            return (Criteria) this;
        }

        public Criteria andParameterIsImportExcelNotEqualTo(Integer value) {
            addCriterion("parameter_is_import_excel <>", value, "parameterIsImportExcel");
            return (Criteria) this;
        }

        public Criteria andParameterIsImportExcelGreaterThan(Integer value) {
            addCriterion("parameter_is_import_excel >", value, "parameterIsImportExcel");
            return (Criteria) this;
        }

        public Criteria andParameterIsImportExcelGreaterThanOrEqualTo(Integer value) {
            addCriterion("parameter_is_import_excel >=", value, "parameterIsImportExcel");
            return (Criteria) this;
        }

        public Criteria andParameterIsImportExcelLessThan(Integer value) {
            addCriterion("parameter_is_import_excel <", value, "parameterIsImportExcel");
            return (Criteria) this;
        }

        public Criteria andParameterIsImportExcelLessThanOrEqualTo(Integer value) {
            addCriterion("parameter_is_import_excel <=", value, "parameterIsImportExcel");
            return (Criteria) this;
        }

        public Criteria andParameterIsImportExcelIn(List<Integer> values) {
            addCriterion("parameter_is_import_excel in", values, "parameterIsImportExcel");
            return (Criteria) this;
        }

        public Criteria andParameterIsImportExcelNotIn(List<Integer> values) {
            addCriterion("parameter_is_import_excel not in", values, "parameterIsImportExcel");
            return (Criteria) this;
        }

        public Criteria andParameterIsImportExcelBetween(Integer value1, Integer value2) {
            addCriterion("parameter_is_import_excel between", value1, value2, "parameterIsImportExcel");
            return (Criteria) this;
        }

        public Criteria andParameterIsImportExcelNotBetween(Integer value1, Integer value2) {
            addCriterion("parameter_is_import_excel not between", value1, value2, "parameterIsImportExcel");
            return (Criteria) this;
        }

        public Criteria andParameterIsExportExcelIsNull() {
            addCriterion("parameter_is_export_excel is null");
            return (Criteria) this;
        }

        public Criteria andParameterIsExportExcelIsNotNull() {
            addCriterion("parameter_is_export_excel is not null");
            return (Criteria) this;
        }

        public Criteria andParameterIsExportExcelEqualTo(Integer value) {
            addCriterion("parameter_is_export_excel =", value, "parameterIsExportExcel");
            return (Criteria) this;
        }

        public Criteria andParameterIsExportExcelNotEqualTo(Integer value) {
            addCriterion("parameter_is_export_excel <>", value, "parameterIsExportExcel");
            return (Criteria) this;
        }

        public Criteria andParameterIsExportExcelGreaterThan(Integer value) {
            addCriterion("parameter_is_export_excel >", value, "parameterIsExportExcel");
            return (Criteria) this;
        }

        public Criteria andParameterIsExportExcelGreaterThanOrEqualTo(Integer value) {
            addCriterion("parameter_is_export_excel >=", value, "parameterIsExportExcel");
            return (Criteria) this;
        }

        public Criteria andParameterIsExportExcelLessThan(Integer value) {
            addCriterion("parameter_is_export_excel <", value, "parameterIsExportExcel");
            return (Criteria) this;
        }

        public Criteria andParameterIsExportExcelLessThanOrEqualTo(Integer value) {
            addCriterion("parameter_is_export_excel <=", value, "parameterIsExportExcel");
            return (Criteria) this;
        }

        public Criteria andParameterIsExportExcelIn(List<Integer> values) {
            addCriterion("parameter_is_export_excel in", values, "parameterIsExportExcel");
            return (Criteria) this;
        }

        public Criteria andParameterIsExportExcelNotIn(List<Integer> values) {
            addCriterion("parameter_is_export_excel not in", values, "parameterIsExportExcel");
            return (Criteria) this;
        }

        public Criteria andParameterIsExportExcelBetween(Integer value1, Integer value2) {
            addCriterion("parameter_is_export_excel between", value1, value2, "parameterIsExportExcel");
            return (Criteria) this;
        }

        public Criteria andParameterIsExportExcelNotBetween(Integer value1, Integer value2) {
            addCriterion("parameter_is_export_excel not between", value1, value2, "parameterIsExportExcel");
            return (Criteria) this;
        }

        public Criteria andParameterSqlValueItemIsNull() {
            addCriterion("parameter_sql_value_item is null");
            return (Criteria) this;
        }

        public Criteria andParameterSqlValueItemIsNotNull() {
            addCriterion("parameter_sql_value_item is not null");
            return (Criteria) this;
        }

        public Criteria andParameterSqlValueItemEqualTo(String value) {
            addCriterion("parameter_sql_value_item =", value, "parameterSqlValueItem");
            return (Criteria) this;
        }

        public Criteria andParameterSqlValueItemNotEqualTo(String value) {
            addCriterion("parameter_sql_value_item <>", value, "parameterSqlValueItem");
            return (Criteria) this;
        }

        public Criteria andParameterSqlValueItemGreaterThan(String value) {
            addCriterion("parameter_sql_value_item >", value, "parameterSqlValueItem");
            return (Criteria) this;
        }

        public Criteria andParameterSqlValueItemGreaterThanOrEqualTo(String value) {
            addCriterion("parameter_sql_value_item >=", value, "parameterSqlValueItem");
            return (Criteria) this;
        }

        public Criteria andParameterSqlValueItemLessThan(String value) {
            addCriterion("parameter_sql_value_item <", value, "parameterSqlValueItem");
            return (Criteria) this;
        }

        public Criteria andParameterSqlValueItemLessThanOrEqualTo(String value) {
            addCriterion("parameter_sql_value_item <=", value, "parameterSqlValueItem");
            return (Criteria) this;
        }

        public Criteria andParameterSqlValueItemRegexp(String value) {
            addCriterion("parameter_sql_value_item regexp", value, "parameterSqlValueItem");
            return (Criteria) this;
        }

        public Criteria andParameterSqlValueItemLike(String value) {
            addCriterion("parameter_sql_value_item like", value, "parameterSqlValueItem");
            return (Criteria) this;
        }

        public Criteria andParameterSqlValueItemNotLike(String value) {
            addCriterion("parameter_sql_value_item not like", value, "parameterSqlValueItem");
            return (Criteria) this;
        }

        public Criteria andParameterSqlValueItemIn(List<String> values) {
            addCriterion("parameter_sql_value_item in", values, "parameterSqlValueItem");
            return (Criteria) this;
        }

        public Criteria andParameterSqlValueItemNotIn(List<String> values) {
            addCriterion("parameter_sql_value_item not in", values, "parameterSqlValueItem");
            return (Criteria) this;
        }

        public Criteria andParameterSqlValueItemBetween(String value1, String value2) {
            addCriterion("parameter_sql_value_item between", value1, value2, "parameterSqlValueItem");
            return (Criteria) this;
        }

        public Criteria andParameterSqlValueItemNotBetween(String value1, String value2) {
            addCriterion("parameter_sql_value_item not between", value1, value2, "parameterSqlValueItem");
            return (Criteria) this;
        }

        public Criteria andParameterSqlValueIsNull() {
            addCriterion("parameter_sql_value is null");
            return (Criteria) this;
        }

        public Criteria andParameterSqlValueIsNotNull() {
            addCriterion("parameter_sql_value is not null");
            return (Criteria) this;
        }

        public Criteria andParameterSqlValueEqualTo(String value) {
            addCriterion("parameter_sql_value =", value, "parameterSqlValue");
            return (Criteria) this;
        }

        public Criteria andParameterSqlValueNotEqualTo(String value) {
            addCriterion("parameter_sql_value <>", value, "parameterSqlValue");
            return (Criteria) this;
        }

        public Criteria andParameterSqlValueGreaterThan(String value) {
            addCriterion("parameter_sql_value >", value, "parameterSqlValue");
            return (Criteria) this;
        }

        public Criteria andParameterSqlValueGreaterThanOrEqualTo(String value) {
            addCriterion("parameter_sql_value >=", value, "parameterSqlValue");
            return (Criteria) this;
        }

        public Criteria andParameterSqlValueLessThan(String value) {
            addCriterion("parameter_sql_value <", value, "parameterSqlValue");
            return (Criteria) this;
        }

        public Criteria andParameterSqlValueLessThanOrEqualTo(String value) {
            addCriterion("parameter_sql_value <=", value, "parameterSqlValue");
            return (Criteria) this;
        }

        public Criteria andParameterSqlValueRegexp(String value) {
            addCriterion("parameter_sql_value regexp", value, "parameterSqlValue");
            return (Criteria) this;
        }

        public Criteria andParameterSqlValueLike(String value) {
            addCriterion("parameter_sql_value like", value, "parameterSqlValue");
            return (Criteria) this;
        }

        public Criteria andParameterSqlValueNotLike(String value) {
            addCriterion("parameter_sql_value not like", value, "parameterSqlValue");
            return (Criteria) this;
        }

        public Criteria andParameterSqlValueIn(List<String> values) {
            addCriterion("parameter_sql_value in", values, "parameterSqlValue");
            return (Criteria) this;
        }

        public Criteria andParameterSqlValueNotIn(List<String> values) {
            addCriterion("parameter_sql_value not in", values, "parameterSqlValue");
            return (Criteria) this;
        }

        public Criteria andParameterSqlValueBetween(String value1, String value2) {
            addCriterion("parameter_sql_value between", value1, value2, "parameterSqlValue");
            return (Criteria) this;
        }

        public Criteria andParameterSqlValueNotBetween(String value1, String value2) {
            addCriterion("parameter_sql_value not between", value1, value2, "parameterSqlValue");
            return (Criteria) this;
        }

        public Criteria andParameterSqlValueIgnoreIsNull() {
            addCriterion("parameter_sql_value_ignore is null");
            return (Criteria) this;
        }

        public Criteria andParameterSqlValueIgnoreIsNotNull() {
            addCriterion("parameter_sql_value_ignore is not null");
            return (Criteria) this;
        }

        public Criteria andParameterSqlValueIgnoreEqualTo(Integer value) {
            addCriterion("parameter_sql_value_ignore =", value, "parameterSqlValueIgnore");
            return (Criteria) this;
        }

        public Criteria andParameterSqlValueIgnoreNotEqualTo(Integer value) {
            addCriterion("parameter_sql_value_ignore <>", value, "parameterSqlValueIgnore");
            return (Criteria) this;
        }

        public Criteria andParameterSqlValueIgnoreGreaterThan(Integer value) {
            addCriterion("parameter_sql_value_ignore >", value, "parameterSqlValueIgnore");
            return (Criteria) this;
        }

        public Criteria andParameterSqlValueIgnoreGreaterThanOrEqualTo(Integer value) {
            addCriterion("parameter_sql_value_ignore >=", value, "parameterSqlValueIgnore");
            return (Criteria) this;
        }

        public Criteria andParameterSqlValueIgnoreLessThan(Integer value) {
            addCriterion("parameter_sql_value_ignore <", value, "parameterSqlValueIgnore");
            return (Criteria) this;
        }

        public Criteria andParameterSqlValueIgnoreLessThanOrEqualTo(Integer value) {
            addCriterion("parameter_sql_value_ignore <=", value, "parameterSqlValueIgnore");
            return (Criteria) this;
        }

        public Criteria andParameterSqlValueIgnoreIn(List<Integer> values) {
            addCriterion("parameter_sql_value_ignore in", values, "parameterSqlValueIgnore");
            return (Criteria) this;
        }

        public Criteria andParameterSqlValueIgnoreNotIn(List<Integer> values) {
            addCriterion("parameter_sql_value_ignore not in", values, "parameterSqlValueIgnore");
            return (Criteria) this;
        }

        public Criteria andParameterSqlValueIgnoreBetween(Integer value1, Integer value2) {
            addCriterion("parameter_sql_value_ignore between", value1, value2, "parameterSqlValueIgnore");
            return (Criteria) this;
        }

        public Criteria andParameterSqlValueIgnoreNotBetween(Integer value1, Integer value2) {
            addCriterion("parameter_sql_value_ignore not between", value1, value2, "parameterSqlValueIgnore");
            return (Criteria) this;
        }

        public Criteria andParameterWithoutTestIsNull() {
            addCriterion("parameter_without_test is null");
            return (Criteria) this;
        }

        public Criteria andParameterWithoutTestIsNotNull() {
            addCriterion("parameter_without_test is not null");
            return (Criteria) this;
        }

        public Criteria andParameterWithoutTestEqualTo(Integer value) {
            addCriterion("parameter_without_test =", value, "parameterWithoutTest");
            return (Criteria) this;
        }

        public Criteria andParameterWithoutTestNotEqualTo(Integer value) {
            addCriterion("parameter_without_test <>", value, "parameterWithoutTest");
            return (Criteria) this;
        }

        public Criteria andParameterWithoutTestGreaterThan(Integer value) {
            addCriterion("parameter_without_test >", value, "parameterWithoutTest");
            return (Criteria) this;
        }

        public Criteria andParameterWithoutTestGreaterThanOrEqualTo(Integer value) {
            addCriterion("parameter_without_test >=", value, "parameterWithoutTest");
            return (Criteria) this;
        }

        public Criteria andParameterWithoutTestLessThan(Integer value) {
            addCriterion("parameter_without_test <", value, "parameterWithoutTest");
            return (Criteria) this;
        }

        public Criteria andParameterWithoutTestLessThanOrEqualTo(Integer value) {
            addCriterion("parameter_without_test <=", value, "parameterWithoutTest");
            return (Criteria) this;
        }

        public Criteria andParameterWithoutTestIn(List<Integer> values) {
            addCriterion("parameter_without_test in", values, "parameterWithoutTest");
            return (Criteria) this;
        }

        public Criteria andParameterWithoutTestNotIn(List<Integer> values) {
            addCriterion("parameter_without_test not in", values, "parameterWithoutTest");
            return (Criteria) this;
        }

        public Criteria andParameterWithoutTestBetween(Integer value1, Integer value2) {
            addCriterion("parameter_without_test between", value1, value2, "parameterWithoutTest");
            return (Criteria) this;
        }

        public Criteria andParameterWithoutTestNotBetween(Integer value1, Integer value2) {
            addCriterion("parameter_without_test not between", value1, value2, "parameterWithoutTest");
            return (Criteria) this;
        }

        public Criteria andParameterSqlIsNull() {
            addCriterion("parameter_sql is null");
            return (Criteria) this;
        }

        public Criteria andParameterSqlIsNotNull() {
            addCriterion("parameter_sql is not null");
            return (Criteria) this;
        }

        public Criteria andParameterSqlEqualTo(String value) {
            addCriterion("parameter_sql =", value, "parameterSql");
            return (Criteria) this;
        }

        public Criteria andParameterSqlNotEqualTo(String value) {
            addCriterion("parameter_sql <>", value, "parameterSql");
            return (Criteria) this;
        }

        public Criteria andParameterSqlGreaterThan(String value) {
            addCriterion("parameter_sql >", value, "parameterSql");
            return (Criteria) this;
        }

        public Criteria andParameterSqlGreaterThanOrEqualTo(String value) {
            addCriterion("parameter_sql >=", value, "parameterSql");
            return (Criteria) this;
        }

        public Criteria andParameterSqlLessThan(String value) {
            addCriterion("parameter_sql <", value, "parameterSql");
            return (Criteria) this;
        }

        public Criteria andParameterSqlLessThanOrEqualTo(String value) {
            addCriterion("parameter_sql <=", value, "parameterSql");
            return (Criteria) this;
        }

        public Criteria andParameterSqlRegexp(String value) {
            addCriterion("parameter_sql regexp", value, "parameterSql");
            return (Criteria) this;
        }

        public Criteria andParameterSqlLike(String value) {
            addCriterion("parameter_sql like", value, "parameterSql");
            return (Criteria) this;
        }

        public Criteria andParameterSqlNotLike(String value) {
            addCriterion("parameter_sql not like", value, "parameterSql");
            return (Criteria) this;
        }

        public Criteria andParameterSqlIn(List<String> values) {
            addCriterion("parameter_sql in", values, "parameterSql");
            return (Criteria) this;
        }

        public Criteria andParameterSqlNotIn(List<String> values) {
            addCriterion("parameter_sql not in", values, "parameterSql");
            return (Criteria) this;
        }

        public Criteria andParameterSqlBetween(String value1, String value2) {
            addCriterion("parameter_sql between", value1, value2, "parameterSql");
            return (Criteria) this;
        }

        public Criteria andParameterSqlNotBetween(String value1, String value2) {
            addCriterion("parameter_sql not between", value1, value2, "parameterSql");
            return (Criteria) this;
        }

        public Criteria andParameterSqlIssimpleIsNull() {
            addCriterion("parameter_sql_issimple is null");
            return (Criteria) this;
        }

        public Criteria andParameterSqlIssimpleIsNotNull() {
            addCriterion("parameter_sql_issimple is not null");
            return (Criteria) this;
        }

        public Criteria andParameterSqlIssimpleEqualTo(Integer value) {
            addCriterion("parameter_sql_issimple =", value, "parameterSqlIssimple");
            return (Criteria) this;
        }

        public Criteria andParameterSqlIssimpleNotEqualTo(Integer value) {
            addCriterion("parameter_sql_issimple <>", value, "parameterSqlIssimple");
            return (Criteria) this;
        }

        public Criteria andParameterSqlIssimpleGreaterThan(Integer value) {
            addCriterion("parameter_sql_issimple >", value, "parameterSqlIssimple");
            return (Criteria) this;
        }

        public Criteria andParameterSqlIssimpleGreaterThanOrEqualTo(Integer value) {
            addCriterion("parameter_sql_issimple >=", value, "parameterSqlIssimple");
            return (Criteria) this;
        }

        public Criteria andParameterSqlIssimpleLessThan(Integer value) {
            addCriterion("parameter_sql_issimple <", value, "parameterSqlIssimple");
            return (Criteria) this;
        }

        public Criteria andParameterSqlIssimpleLessThanOrEqualTo(Integer value) {
            addCriterion("parameter_sql_issimple <=", value, "parameterSqlIssimple");
            return (Criteria) this;
        }

        public Criteria andParameterSqlIssimpleIn(List<Integer> values) {
            addCriterion("parameter_sql_issimple in", values, "parameterSqlIssimple");
            return (Criteria) this;
        }

        public Criteria andParameterSqlIssimpleNotIn(List<Integer> values) {
            addCriterion("parameter_sql_issimple not in", values, "parameterSqlIssimple");
            return (Criteria) this;
        }

        public Criteria andParameterSqlIssimpleBetween(Integer value1, Integer value2) {
            addCriterion("parameter_sql_issimple between", value1, value2, "parameterSqlIssimple");
            return (Criteria) this;
        }

        public Criteria andParameterSqlIssimpleNotBetween(Integer value1, Integer value2) {
            addCriterion("parameter_sql_issimple not between", value1, value2, "parameterSqlIssimple");
            return (Criteria) this;
        }

        public Criteria andParameterSqlReturnNolistIsNull() {
            addCriterion("parameter_sql_return_nolist is null");
            return (Criteria) this;
        }

        public Criteria andParameterSqlReturnNolistIsNotNull() {
            addCriterion("parameter_sql_return_nolist is not null");
            return (Criteria) this;
        }

        public Criteria andParameterSqlReturnNolistEqualTo(Integer value) {
            addCriterion("parameter_sql_return_nolist =", value, "parameterSqlReturnNolist");
            return (Criteria) this;
        }

        public Criteria andParameterSqlReturnNolistNotEqualTo(Integer value) {
            addCriterion("parameter_sql_return_nolist <>", value, "parameterSqlReturnNolist");
            return (Criteria) this;
        }

        public Criteria andParameterSqlReturnNolistGreaterThan(Integer value) {
            addCriterion("parameter_sql_return_nolist >", value, "parameterSqlReturnNolist");
            return (Criteria) this;
        }

        public Criteria andParameterSqlReturnNolistGreaterThanOrEqualTo(Integer value) {
            addCriterion("parameter_sql_return_nolist >=", value, "parameterSqlReturnNolist");
            return (Criteria) this;
        }

        public Criteria andParameterSqlReturnNolistLessThan(Integer value) {
            addCriterion("parameter_sql_return_nolist <", value, "parameterSqlReturnNolist");
            return (Criteria) this;
        }

        public Criteria andParameterSqlReturnNolistLessThanOrEqualTo(Integer value) {
            addCriterion("parameter_sql_return_nolist <=", value, "parameterSqlReturnNolist");
            return (Criteria) this;
        }

        public Criteria andParameterSqlReturnNolistIn(List<Integer> values) {
            addCriterion("parameter_sql_return_nolist in", values, "parameterSqlReturnNolist");
            return (Criteria) this;
        }

        public Criteria andParameterSqlReturnNolistNotIn(List<Integer> values) {
            addCriterion("parameter_sql_return_nolist not in", values, "parameterSqlReturnNolist");
            return (Criteria) this;
        }

        public Criteria andParameterSqlReturnNolistBetween(Integer value1, Integer value2) {
            addCriterion("parameter_sql_return_nolist between", value1, value2, "parameterSqlReturnNolist");
            return (Criteria) this;
        }

        public Criteria andParameterSqlReturnNolistNotBetween(Integer value1, Integer value2) {
            addCriterion("parameter_sql_return_nolist not between", value1, value2, "parameterSqlReturnNolist");
            return (Criteria) this;
        }

        public Criteria andJavaImportsIsNull() {
            addCriterion("java_imports is null");
            return (Criteria) this;
        }

        public Criteria andJavaImportsIsNotNull() {
            addCriterion("java_imports is not null");
            return (Criteria) this;
        }

        public Criteria andJavaImportsEqualTo(String value) {
            addCriterion("java_imports =", value, "javaImports");
            return (Criteria) this;
        }

        public Criteria andJavaImportsNotEqualTo(String value) {
            addCriterion("java_imports <>", value, "javaImports");
            return (Criteria) this;
        }

        public Criteria andJavaImportsGreaterThan(String value) {
            addCriterion("java_imports >", value, "javaImports");
            return (Criteria) this;
        }

        public Criteria andJavaImportsGreaterThanOrEqualTo(String value) {
            addCriterion("java_imports >=", value, "javaImports");
            return (Criteria) this;
        }

        public Criteria andJavaImportsLessThan(String value) {
            addCriterion("java_imports <", value, "javaImports");
            return (Criteria) this;
        }

        public Criteria andJavaImportsLessThanOrEqualTo(String value) {
            addCriterion("java_imports <=", value, "javaImports");
            return (Criteria) this;
        }

        public Criteria andJavaImportsRegexp(String value) {
            addCriterion("java_imports regexp", value, "javaImports");
            return (Criteria) this;
        }

        public Criteria andJavaImportsLike(String value) {
            addCriterion("java_imports like", value, "javaImports");
            return (Criteria) this;
        }

        public Criteria andJavaImportsNotLike(String value) {
            addCriterion("java_imports not like", value, "javaImports");
            return (Criteria) this;
        }

        public Criteria andJavaImportsIn(List<String> values) {
            addCriterion("java_imports in", values, "javaImports");
            return (Criteria) this;
        }

        public Criteria andJavaImportsNotIn(List<String> values) {
            addCriterion("java_imports not in", values, "javaImports");
            return (Criteria) this;
        }

        public Criteria andJavaImportsBetween(String value1, String value2) {
            addCriterion("java_imports between", value1, value2, "javaImports");
            return (Criteria) this;
        }

        public Criteria andJavaImportsNotBetween(String value1, String value2) {
            addCriterion("java_imports not between", value1, value2, "javaImports");
            return (Criteria) this;
        }

        public Criteria andParameterOverwriteDefaultSqlIsNull() {
            addCriterion("parameter_overwrite_default_sql is null");
            return (Criteria) this;
        }

        public Criteria andParameterOverwriteDefaultSqlIsNotNull() {
            addCriterion("parameter_overwrite_default_sql is not null");
            return (Criteria) this;
        }

        public Criteria andParameterOverwriteDefaultSqlEqualTo(Integer value) {
            addCriterion("parameter_overwrite_default_sql =", value, "parameterOverwriteDefaultSql");
            return (Criteria) this;
        }

        public Criteria andParameterOverwriteDefaultSqlNotEqualTo(Integer value) {
            addCriterion("parameter_overwrite_default_sql <>", value, "parameterOverwriteDefaultSql");
            return (Criteria) this;
        }

        public Criteria andParameterOverwriteDefaultSqlGreaterThan(Integer value) {
            addCriterion("parameter_overwrite_default_sql >", value, "parameterOverwriteDefaultSql");
            return (Criteria) this;
        }

        public Criteria andParameterOverwriteDefaultSqlGreaterThanOrEqualTo(Integer value) {
            addCriterion("parameter_overwrite_default_sql >=", value, "parameterOverwriteDefaultSql");
            return (Criteria) this;
        }

        public Criteria andParameterOverwriteDefaultSqlLessThan(Integer value) {
            addCriterion("parameter_overwrite_default_sql <", value, "parameterOverwriteDefaultSql");
            return (Criteria) this;
        }

        public Criteria andParameterOverwriteDefaultSqlLessThanOrEqualTo(Integer value) {
            addCriterion("parameter_overwrite_default_sql <=", value, "parameterOverwriteDefaultSql");
            return (Criteria) this;
        }

        public Criteria andParameterOverwriteDefaultSqlIn(List<Integer> values) {
            addCriterion("parameter_overwrite_default_sql in", values, "parameterOverwriteDefaultSql");
            return (Criteria) this;
        }

        public Criteria andParameterOverwriteDefaultSqlNotIn(List<Integer> values) {
            addCriterion("parameter_overwrite_default_sql not in", values, "parameterOverwriteDefaultSql");
            return (Criteria) this;
        }

        public Criteria andParameterOverwriteDefaultSqlBetween(Integer value1, Integer value2) {
            addCriterion("parameter_overwrite_default_sql between", value1, value2, "parameterOverwriteDefaultSql");
            return (Criteria) this;
        }

        public Criteria andParameterOverwriteDefaultSqlNotBetween(Integer value1, Integer value2) {
            addCriterion("parameter_overwrite_default_sql not between", value1, value2, "parameterOverwriteDefaultSql");
            return (Criteria) this;
        }

        public Criteria andJavaReturnTypeIsNull() {
            addCriterion("java_return_type is null");
            return (Criteria) this;
        }

        public Criteria andJavaReturnTypeIsNotNull() {
            addCriterion("java_return_type is not null");
            return (Criteria) this;
        }

        public Criteria andJavaReturnTypeEqualTo(String value) {
            addCriterion("java_return_type =", value, "javaReturnType");
            return (Criteria) this;
        }

        public Criteria andJavaReturnTypeNotEqualTo(String value) {
            addCriterion("java_return_type <>", value, "javaReturnType");
            return (Criteria) this;
        }

        public Criteria andJavaReturnTypeGreaterThan(String value) {
            addCriterion("java_return_type >", value, "javaReturnType");
            return (Criteria) this;
        }

        public Criteria andJavaReturnTypeGreaterThanOrEqualTo(String value) {
            addCriterion("java_return_type >=", value, "javaReturnType");
            return (Criteria) this;
        }

        public Criteria andJavaReturnTypeLessThan(String value) {
            addCriterion("java_return_type <", value, "javaReturnType");
            return (Criteria) this;
        }

        public Criteria andJavaReturnTypeLessThanOrEqualTo(String value) {
            addCriterion("java_return_type <=", value, "javaReturnType");
            return (Criteria) this;
        }

        public Criteria andJavaReturnTypeRegexp(String value) {
            addCriterion("java_return_type regexp", value, "javaReturnType");
            return (Criteria) this;
        }

        public Criteria andJavaReturnTypeLike(String value) {
            addCriterion("java_return_type like", value, "javaReturnType");
            return (Criteria) this;
        }

        public Criteria andJavaReturnTypeNotLike(String value) {
            addCriterion("java_return_type not like", value, "javaReturnType");
            return (Criteria) this;
        }

        public Criteria andJavaReturnTypeIn(List<String> values) {
            addCriterion("java_return_type in", values, "javaReturnType");
            return (Criteria) this;
        }

        public Criteria andJavaReturnTypeNotIn(List<String> values) {
            addCriterion("java_return_type not in", values, "javaReturnType");
            return (Criteria) this;
        }

        public Criteria andJavaReturnTypeBetween(String value1, String value2) {
            addCriterion("java_return_type between", value1, value2, "javaReturnType");
            return (Criteria) this;
        }

        public Criteria andJavaReturnTypeNotBetween(String value1, String value2) {
            addCriterion("java_return_type not between", value1, value2, "javaReturnType");
            return (Criteria) this;
        }

        public Criteria andJavaBodyIsNull() {
            addCriterion("java_body is null");
            return (Criteria) this;
        }

        public Criteria andJavaBodyIsNotNull() {
            addCriterion("java_body is not null");
            return (Criteria) this;
        }

        public Criteria andJavaBodyEqualTo(String value) {
            addCriterion("java_body =", value, "javaBody");
            return (Criteria) this;
        }

        public Criteria andJavaBodyNotEqualTo(String value) {
            addCriterion("java_body <>", value, "javaBody");
            return (Criteria) this;
        }

        public Criteria andJavaBodyGreaterThan(String value) {
            addCriterion("java_body >", value, "javaBody");
            return (Criteria) this;
        }

        public Criteria andJavaBodyGreaterThanOrEqualTo(String value) {
            addCriterion("java_body >=", value, "javaBody");
            return (Criteria) this;
        }

        public Criteria andJavaBodyLessThan(String value) {
            addCriterion("java_body <", value, "javaBody");
            return (Criteria) this;
        }

        public Criteria andJavaBodyLessThanOrEqualTo(String value) {
            addCriterion("java_body <=", value, "javaBody");
            return (Criteria) this;
        }

        public Criteria andJavaBodyRegexp(String value) {
            addCriterion("java_body regexp", value, "javaBody");
            return (Criteria) this;
        }

        public Criteria andJavaBodyLike(String value) {
            addCriterion("java_body like", value, "javaBody");
            return (Criteria) this;
        }

        public Criteria andJavaBodyNotLike(String value) {
            addCriterion("java_body not like", value, "javaBody");
            return (Criteria) this;
        }

        public Criteria andJavaBodyIn(List<String> values) {
            addCriterion("java_body in", values, "javaBody");
            return (Criteria) this;
        }

        public Criteria andJavaBodyNotIn(List<String> values) {
            addCriterion("java_body not in", values, "javaBody");
            return (Criteria) this;
        }

        public Criteria andJavaBodyBetween(String value1, String value2) {
            addCriterion("java_body between", value1, value2, "javaBody");
            return (Criteria) this;
        }

        public Criteria andJavaBodyNotBetween(String value1, String value2) {
            addCriterion("java_body not between", value1, value2, "javaBody");
            return (Criteria) this;
        }

        public Criteria andSortNoIsNull() {
            addCriterion("sort_no is null");
            return (Criteria) this;
        }

        public Criteria andSortNoIsNotNull() {
            addCriterion("sort_no is not null");
            return (Criteria) this;
        }

        public Criteria andSortNoEqualTo(Integer value) {
            addCriterion("sort_no =", value, "sortNo");
            return (Criteria) this;
        }

        public Criteria andSortNoNotEqualTo(Integer value) {
            addCriterion("sort_no <>", value, "sortNo");
            return (Criteria) this;
        }

        public Criteria andSortNoGreaterThan(Integer value) {
            addCriterion("sort_no >", value, "sortNo");
            return (Criteria) this;
        }

        public Criteria andSortNoGreaterThanOrEqualTo(Integer value) {
            addCriterion("sort_no >=", value, "sortNo");
            return (Criteria) this;
        }

        public Criteria andSortNoLessThan(Integer value) {
            addCriterion("sort_no <", value, "sortNo");
            return (Criteria) this;
        }

        public Criteria andSortNoLessThanOrEqualTo(Integer value) {
            addCriterion("sort_no <=", value, "sortNo");
            return (Criteria) this;
        }

        public Criteria andSortNoIn(List<Integer> values) {
            addCriterion("sort_no in", values, "sortNo");
            return (Criteria) this;
        }

        public Criteria andSortNoNotIn(List<Integer> values) {
            addCriterion("sort_no not in", values, "sortNo");
            return (Criteria) this;
        }

        public Criteria andSortNoBetween(Integer value1, Integer value2) {
            addCriterion("sort_no between", value1, value2, "sortNo");
            return (Criteria) this;
        }

        public Criteria andSortNoNotBetween(Integer value1, Integer value2) {
            addCriterion("sort_no not between", value1, value2, "sortNo");
            return (Criteria) this;
        }

        public Criteria andRemarkIsNull() {
            addCriterion("remark is null");
            return (Criteria) this;
        }

        public Criteria andRemarkIsNotNull() {
            addCriterion("remark is not null");
            return (Criteria) this;
        }

        public Criteria andRemarkEqualTo(String value) {
            addCriterion("remark =", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotEqualTo(String value) {
            addCriterion("remark <>", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkGreaterThan(String value) {
            addCriterion("remark >", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkGreaterThanOrEqualTo(String value) {
            addCriterion("remark >=", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLessThan(String value) {
            addCriterion("remark <", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLessThanOrEqualTo(String value) {
            addCriterion("remark <=", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkRegexp(String value) {
            addCriterion("remark regexp", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLike(String value) {
            addCriterion("remark like", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotLike(String value) {
            addCriterion("remark not like", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkIn(List<String> values) {
            addCriterion("remark in", values, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotIn(List<String> values) {
            addCriterion("remark not in", values, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkBetween(String value1, String value2) {
            addCriterion("remark between", value1, value2, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotBetween(String value1, String value2) {
            addCriterion("remark not between", value1, value2, "remark");
            return (Criteria) this;
        }

        public Criteria andIsInterfaceIsNull() {
            addCriterion("is_interface is null");
            return (Criteria) this;
        }

        public Criteria andIsInterfaceIsNotNull() {
            addCriterion("is_interface is not null");
            return (Criteria) this;
        }

        public Criteria andIsInterfaceEqualTo(Integer value) {
            addCriterion("is_interface =", value, "isInterface");
            return (Criteria) this;
        }

        public Criteria andIsInterfaceNotEqualTo(Integer value) {
            addCriterion("is_interface <>", value, "isInterface");
            return (Criteria) this;
        }

        public Criteria andIsInterfaceGreaterThan(Integer value) {
            addCriterion("is_interface >", value, "isInterface");
            return (Criteria) this;
        }

        public Criteria andIsInterfaceGreaterThanOrEqualTo(Integer value) {
            addCriterion("is_interface >=", value, "isInterface");
            return (Criteria) this;
        }

        public Criteria andIsInterfaceLessThan(Integer value) {
            addCriterion("is_interface <", value, "isInterface");
            return (Criteria) this;
        }

        public Criteria andIsInterfaceLessThanOrEqualTo(Integer value) {
            addCriterion("is_interface <=", value, "isInterface");
            return (Criteria) this;
        }

        public Criteria andIsInterfaceIn(List<Integer> values) {
            addCriterion("is_interface in", values, "isInterface");
            return (Criteria) this;
        }

        public Criteria andIsInterfaceNotIn(List<Integer> values) {
            addCriterion("is_interface not in", values, "isInterface");
            return (Criteria) this;
        }

        public Criteria andIsInterfaceBetween(Integer value1, Integer value2) {
            addCriterion("is_interface between", value1, value2, "isInterface");
            return (Criteria) this;
        }

        public Criteria andIsInterfaceNotBetween(Integer value1, Integer value2) {
            addCriterion("is_interface not between", value1, value2, "isInterface");
            return (Criteria) this;
        }

        public Criteria andExtraInfoIsNull() {
            addCriterion("extra_info is null");
            return (Criteria) this;
        }

        public Criteria andExtraInfoIsNotNull() {
            addCriterion("extra_info is not null");
            return (Criteria) this;
        }

        public Criteria andExtraInfoEqualTo(String value) {
            addCriterion("extra_info =", value, "extraInfo");
            return (Criteria) this;
        }

        public Criteria andExtraInfoNotEqualTo(String value) {
            addCriterion("extra_info <>", value, "extraInfo");
            return (Criteria) this;
        }

        public Criteria andExtraInfoGreaterThan(String value) {
            addCriterion("extra_info >", value, "extraInfo");
            return (Criteria) this;
        }

        public Criteria andExtraInfoGreaterThanOrEqualTo(String value) {
            addCriterion("extra_info >=", value, "extraInfo");
            return (Criteria) this;
        }

        public Criteria andExtraInfoLessThan(String value) {
            addCriterion("extra_info <", value, "extraInfo");
            return (Criteria) this;
        }

        public Criteria andExtraInfoLessThanOrEqualTo(String value) {
            addCriterion("extra_info <=", value, "extraInfo");
            return (Criteria) this;
        }

        public Criteria andExtraInfoRegexp(String value) {
            addCriterion("extra_info regexp", value, "extraInfo");
            return (Criteria) this;
        }

        public Criteria andExtraInfoLike(String value) {
            addCriterion("extra_info like", value, "extraInfo");
            return (Criteria) this;
        }

        public Criteria andExtraInfoNotLike(String value) {
            addCriterion("extra_info not like", value, "extraInfo");
            return (Criteria) this;
        }

        public Criteria andExtraInfoIn(List<String> values) {
            addCriterion("extra_info in", values, "extraInfo");
            return (Criteria) this;
        }

        public Criteria andExtraInfoNotIn(List<String> values) {
            addCriterion("extra_info not in", values, "extraInfo");
            return (Criteria) this;
        }

        public Criteria andExtraInfoBetween(String value1, String value2) {
            addCriterion("extra_info between", value1, value2, "extraInfo");
            return (Criteria) this;
        }

        public Criteria andExtraInfoNotBetween(String value1, String value2) {
            addCriterion("extra_info not between", value1, value2, "extraInfo");
            return (Criteria) this;
        }

    }

    public static class CriteriaString {
        @JsonProperty("id")
        @JSONField(name = "id")
        private String id;

        public String getId() {
            return id;
        }
        
        public void setId(String _v) {
            id = _v;
        }

        @JsonProperty("is_disable")
        @JSONField(name = "is_disable")
        private String isDisable;

        public String getIsDisable() {
            return isDisable;
        }
        
        public void setIsDisable(String _v) {
            isDisable = _v;
        }

        @JsonProperty("workspace_name")
        @JSONField(name = "workspace_name")
        private String workspaceName;

        public String getWorkspaceName() {
            return workspaceName;
        }
        
        public void setWorkspaceName(String _v) {
            workspaceName = _v;
        }

        @JsonProperty("project_names")
        @JSONField(name = "project_names")
        private String projectNames;

        public String getProjectNames() {
            return projectNames;
        }
        
        public void setProjectNames(String _v) {
            projectNames = _v;
        }

        @JsonProperty("table_name")
        @JSONField(name = "table_name")
        private String tableName;

        public String getTableName() {
            return tableName;
        }
        
        public void setTableName(String _v) {
            tableName = _v;
        }

        @JsonProperty("parameter_catalog")
        @JSONField(name = "parameter_catalog")
        private String parameterCatalog;

        public String getParameterCatalog() {
            return parameterCatalog;
        }
        
        public void setParameterCatalog(String _v) {
            parameterCatalog = _v;
        }

        @JsonProperty("parameter_catalog_type")
        @JSONField(name = "parameter_catalog_type")
        private String parameterCatalogType;

        public String getParameterCatalogType() {
            return parameterCatalogType;
        }
        
        public void setParameterCatalogType(String _v) {
            parameterCatalogType = _v;
        }

        @JsonProperty("name")
        @JSONField(name = "name")
        private String name;

        public String getName() {
            return name;
        }
        
        public void setName(String _v) {
            name = _v;
        }

        @JsonProperty("java_type")
        @JSONField(name = "java_type")
        private String javaType;

        public String getJavaType() {
            return javaType;
        }
        
        public void setJavaType(String _v) {
            javaType = _v;
        }

        @JsonProperty("remarks")
        @JSONField(name = "remarks")
        private String remarks;

        public String getRemarks() {
            return remarks;
        }
        
        public void setRemarks(String _v) {
            remarks = _v;
        }

        @JsonProperty("parameter_mode")
        @JSONField(name = "parameter_mode")
        private String parameterMode;

        public String getParameterMode() {
            return parameterMode;
        }
        
        public void setParameterMode(String _v) {
            parameterMode = _v;
        }

        @JsonProperty("parameter_nullable")
        @JSONField(name = "parameter_nullable")
        private String parameterNullable;

        public String getParameterNullable() {
            return parameterNullable;
        }
        
        public void setParameterNullable(String _v) {
            parameterNullable = _v;
        }

        @JsonProperty("parameter_is_like")
        @JSONField(name = "parameter_is_like")
        private String parameterIsLike;

        public String getParameterIsLike() {
            return parameterIsLike;
        }
        
        public void setParameterIsLike(String _v) {
            parameterIsLike = _v;
        }

        @JsonProperty("parameter_is_import_excel")
        @JSONField(name = "parameter_is_import_excel")
        private String parameterIsImportExcel;

        public String getParameterIsImportExcel() {
            return parameterIsImportExcel;
        }
        
        public void setParameterIsImportExcel(String _v) {
            parameterIsImportExcel = _v;
        }

        @JsonProperty("parameter_is_export_excel")
        @JSONField(name = "parameter_is_export_excel")
        private String parameterIsExportExcel;

        public String getParameterIsExportExcel() {
            return parameterIsExportExcel;
        }
        
        public void setParameterIsExportExcel(String _v) {
            parameterIsExportExcel = _v;
        }

        @JsonProperty("parameter_sql_value_item")
        @JSONField(name = "parameter_sql_value_item")
        private String parameterSqlValueItem;

        public String getParameterSqlValueItem() {
            return parameterSqlValueItem;
        }
        
        public void setParameterSqlValueItem(String _v) {
            parameterSqlValueItem = _v;
        }

        @JsonProperty("parameter_sql_value")
        @JSONField(name = "parameter_sql_value")
        private String parameterSqlValue;

        public String getParameterSqlValue() {
            return parameterSqlValue;
        }
        
        public void setParameterSqlValue(String _v) {
            parameterSqlValue = _v;
        }

        @JsonProperty("parameter_sql_value_ignore")
        @JSONField(name = "parameter_sql_value_ignore")
        private String parameterSqlValueIgnore;

        public String getParameterSqlValueIgnore() {
            return parameterSqlValueIgnore;
        }
        
        public void setParameterSqlValueIgnore(String _v) {
            parameterSqlValueIgnore = _v;
        }

        @JsonProperty("parameter_without_test")
        @JSONField(name = "parameter_without_test")
        private String parameterWithoutTest;

        public String getParameterWithoutTest() {
            return parameterWithoutTest;
        }
        
        public void setParameterWithoutTest(String _v) {
            parameterWithoutTest = _v;
        }

        @JsonProperty("parameter_sql")
        @JSONField(name = "parameter_sql")
        private String parameterSql;

        public String getParameterSql() {
            return parameterSql;
        }
        
        public void setParameterSql(String _v) {
            parameterSql = _v;
        }

        @JsonProperty("parameter_sql_issimple")
        @JSONField(name = "parameter_sql_issimple")
        private String parameterSqlIssimple;

        public String getParameterSqlIssimple() {
            return parameterSqlIssimple;
        }
        
        public void setParameterSqlIssimple(String _v) {
            parameterSqlIssimple = _v;
        }

        @JsonProperty("parameter_sql_return_nolist")
        @JSONField(name = "parameter_sql_return_nolist")
        private String parameterSqlReturnNolist;

        public String getParameterSqlReturnNolist() {
            return parameterSqlReturnNolist;
        }
        
        public void setParameterSqlReturnNolist(String _v) {
            parameterSqlReturnNolist = _v;
        }

        @JsonProperty("java_imports")
        @JSONField(name = "java_imports")
        private String javaImports;

        public String getJavaImports() {
            return javaImports;
        }
        
        public void setJavaImports(String _v) {
            javaImports = _v;
        }

        @JsonProperty("parameter_overwrite_default_sql")
        @JSONField(name = "parameter_overwrite_default_sql")
        private String parameterOverwriteDefaultSql;

        public String getParameterOverwriteDefaultSql() {
            return parameterOverwriteDefaultSql;
        }
        
        public void setParameterOverwriteDefaultSql(String _v) {
            parameterOverwriteDefaultSql = _v;
        }

        @JsonProperty("java_return_type")
        @JSONField(name = "java_return_type")
        private String javaReturnType;

        public String getJavaReturnType() {
            return javaReturnType;
        }
        
        public void setJavaReturnType(String _v) {
            javaReturnType = _v;
        }

        @JsonProperty("java_body")
        @JSONField(name = "java_body")
        private String javaBody;

        public String getJavaBody() {
            return javaBody;
        }
        
        public void setJavaBody(String _v) {
            javaBody = _v;
        }

        @JsonProperty("sort_no")
        @JSONField(name = "sort_no")
        private String sortNo;

        public String getSortNo() {
            return sortNo;
        }
        
        public void setSortNo(String _v) {
            sortNo = _v;
        }

        @JsonProperty("remark")
        @JSONField(name = "remark")
        private String remark;

        public String getRemark() {
            return remark;
        }
        
        public void setRemark(String _v) {
            remark = _v;
        }

        @JsonProperty("is_interface")
        @JSONField(name = "is_interface")
        private String isInterface;

        public String getIsInterface() {
            return isInterface;
        }
        
        public void setIsInterface(String _v) {
            isInterface = _v;
        }

        @JsonProperty("extra_info")
        @JSONField(name = "extra_info")
        private String extraInfo;

        public String getExtraInfo() {
            return extraInfo;
        }
        
        public void setExtraInfo(String _v) {
            extraInfo = _v;
        }

    }

    public static class Criteria extends GeneratedCriteria {
        protected Criteria() {
            super();
        }
    }
}
